/*
 *   calendar类的成员方法：
 *       public int get(int field):返回给定日历字段的值
 *       public void set(int field,int value):将给定的日历字段设置为给定值
 *       public abstract void add(int field,int amount):根据日历的规则，为给定的日历字添加或者减去指定的时间量
 *       public Date getTime():返回一个表示此calendar时间值（从历元到现在的毫秒值）的对象
 *   成员方法的参数：
 *            int field:日历类的字段,可以使用Calendar类的静态成员变量获取
            public static final int YEAR = 1;	年
            public static final int MONTH = 2;	月
            public static final int DATE = 5;	月中的某一天
            public static final int DAY_OF_MONTH = 5;月中的某一天
            public static final int HOUR = 10; 		时
            public static final int MINUTE = 12; 	分
            public static final int SECOND = 13;	秒
 *
 *
 *
 * */


import java.util.Calendar;
import java.util.Date;

public class Calendar02 {
    public static void main(String[] args) {
        method01();
        method02();
        method03();
        method04();
    }

    /*
     *public int get (int field);返回给定日历字段的值
     *参数：传递指定的日历字段（YEAR MONTH ...）
     *返回值：日历字段代表具体的值
     * */
    private static void method01() {
        //获得一个日历
        Calendar calendar = Calendar.getInstance();
        //获取日历中的年份
        int year = calendar.get(Calendar.YEAR);
        System.out.print(year + "\t");

        //获取日历中的月份
        int month = calendar.get(Calendar.MONTH);
        //月份从0开始计算
        System.out.print((month + 1) + "\t");

        //获取日期
        int data = calendar.get(Calendar.DATE);
        System.out.println(data);
        //2020	3	19
    }

    //public void set(int field,int value):将给定的日历字段设置为给定值
    private static void method02() {
        //设置某一参数
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, 2090);
        int year = calendar.get(Calendar.YEAR);
        System.out.print(year + "\t");
        //同时设置年月日
        calendar.set(2100, 8, 8);
        int year1 = calendar.get(Calendar.YEAR);
        System.out.print(year1 + "\t");
        int month = calendar.get(Calendar.MONTH);
        System.out.print((month) + "\t");
        int data = calendar.get(Calendar.DATE);
        System.out.println(data + "\t");
        //2090	2100	8	8
    }

    //public abstract void add(int field,int amount):根据日历的规则，为给定的日历字添加或者减去指定的时间量
    private static void method03() {
        Calendar calendar = Calendar.getInstance();
        //年份加上90
        calendar.add(Calendar.YEAR, 90);
        int year = calendar.get(Calendar.YEAR);
        System.out.println(year);
        //2110
    }

    //public Date getTime():返回一个表示此calendar时间值（从历元到现在的毫秒值）的对象
    private static void method04() {
        Calendar calendar = Calendar.getInstance();
        //从日历中获取时间对象
        Date date = calendar.getTime();
        System.out.println(date);
        //Thu Mar 19 20:25:06 CST 2020
    }


}
